Firmware utilized by many computer systems to boot up is often stored on a non-volatile memory device. Therefore, an update of the firmware or firmware components typically involves changing the content of the non-volatile memory device. Although specialized utilities are available to perform such changes, some updates may be needed after build time, when a computer system is first built and configured, such as by a system manufacturer. Thus, changes to the content of the non-volatile memory device might be unfeasible or far from straightforward. Further, the non-volatile memory device on which the firmware is stored may, in some cases, be erasable only in blocks, or otherwise predetermined segments of memory space. As a result, erasing and rewriting components of a firmware may entail erasing a section of memory that is greater in size than that of the firmware component(s) that are to be updated.
Other complications may arise as a result of failing to correctly update a firmware component, such as rendering the computer system inoperable and/or unrecoverable. Recovering from an inoperable state may entail restoring the entirety of the firmware which, in some cases, may require a field and/or service technician. Therefore, much remains to be improved in conventional technologies to update firmware.